Software Defined Networking is a new paradigm in how networks are managed. A central node is utilized to control forwarding behavior of elements rather than each element determining forwarding behavior itself. Applications interact with this central node also referred to as a controller to setup network paths for their specific needs.
A key aspect of Software Defined Networking is the network controller having a holistic view of the topology and capabilities of the underlying network infrastructure. This is essential so that the controller can determine the optimum path to send packets from one edge of the network to another edge of the network. An important part of this process is the information about the recent/current status of links between elements/devices in the network. The SDN controller performs various checks/audits to gather this information.
However, the various checks/audits that the SDN controller can perform are limited and due to these limitations, the SDN controller cannot always determine the most recent/current status of links and/or the optimum routing paths through the software defined network.
From the above discussion, it should be appreciated that there is a need for improved methods, apparatus and systems for determining the status of links in a software defined network by a SDN controller. Furthermore, there is also a need for improved methods, apparatus and systems for optimizing routing paths through software defined networks.